package com.heu.blood.analysis.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heu.blood.analysis.vo.BloodSampleTransfusionDeliveryVo;
import com.heu.blood.analysis.vo.BloodSampleTransfusionReportVo;
import com.heu.blood.common.utils.PageUtils;
import com.heu.blood.analysis.entity.BloodSampleInfoTransfusionEntity;

import java.util.List;
import java.util.Map;

/**
 * 输血申请患者血液样本信息表
 *
 * @author lhh
 * @email lhh1612325771@163.com
 * @date 2023-11-22 15:29:07
 */
public interface BloodSampleInfoTransfusionService extends IService<BloodSampleInfoTransfusionEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 根据样本单号查询检测报告信息
     * @param bloodSampleId
     * @return
     */
    BloodSampleTransfusionReportVo selectSamplePatientReport(String bloodSampleId);

    /**
    * @description: 根据BloodId查询血液样本信息
    * @param bloodId
    * @return com.heu.blood.analysis.entity.BloodSampleInfoTransfusionEntity
    * @author lhh
    * @date 2024-07-23
    */

    List<BloodSampleInfoTransfusionEntity> selectSampleByBloodId(String bloodId);

    /**
    * @description: 根据SampleId查询血液样本信息
    * @param bloodSampleId
    * @return java.util.List<com.heu.blood.analysis.entity.BloodSampleInfoTransfusionEntity>
    * @author lhh
    * @date 2024-07-24
    */

    List<BloodSampleInfoTransfusionEntity> selectSampleByBloodSampleId(String bloodSampleId);

    /**
     * 与病人信息联表查询报告
     * @param bloodSampleTransfusionReportVo
     * @return
     */
    PageUtils selectSamplePatientReportQuery(BloodSampleTransfusionReportVo bloodSampleTransfusionReportVo);


//    打印条形码接口
    BloodSampleInfoTransfusionEntity generateBloodSampleInfoTransfusionId(BloodSampleTransfusionDeliveryVo bloodSampleTransfusionDeliveryVo);

    int updateSampleStatusTORECEIVED(String bloodSampleId);

}

